home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-10-27 | 46.7 KB | 1,009 lines |
- Introduction
- This document is intended to be the user guide for GA-FuzzyWare. It
- covers basic concepts of GAF (sections 1 - 4), interactive interfaces
- (sections 5 - 14), and command arguments and configuration (sections 15 -
- 16).
-
- Section 1: Running Modes
- A brief description of all running modes provided by GAF.
-
- Section 2: Schedule Policy
- Describes the scheduling policy under different schedule modes
- provided by GAF.
-
- Section 3: Emulation
- Covers essentials of the emulation segment(s) under GAF.
-
- Section 4: Adaptation
- The details about how adaptation works in the GAF environment.
-
- Section 5: System Menu
- Explains the menu bar of GAF, and how it works.
-
- Section 6: GAF Windows
- Explains different windows provided in GAF and covers contents of
- these windows.
-
- Section 7: File Menu
- Section 8: Run Menu
- Section 9: Option Menu
- Section 10: Segment Menu
- Section 11: Display Menu
- Section 12: Adapt Menu
- Section 13: Method Menu
- Detail descriptions on the use of all the pull down menus.
-
- Section 14: Function Keys
- Covers available function keys provided by GAF.
-
- Section 15: Command Syntax
- Explains how to invoke GAF from the DOS and available command
- arguments.
-
- Section 16: Configuration
- Brief describes the start up configuration file.
-
- GAF Conventions
- The following conventions are used throughout this document.
- 'Enter' means the Enter key or the Return key.
- Type 'key' means press the specified key without 'Enter'.
- Press F? means press the specified function key without 'Enter'.
- Enter means type in the specified text and followed by 'Enter' key.
- Select/Use an option:
- use cursor keys to move the highlighted option and then
- press 'Enter', or type the character on the left.
- GAF is not case sensitive, use either upper or lower cased key.
-
- Other GAF References
- Please refer to following GAF documents:
- fcl.doc fuzzy control language document
- tutorial.doc tutorial for construct a GAF segment
- demo.doc how to run the demon example
-
- Running Modes
- There are five running modes provided by GAF: control, monitor, check
- segment, simulation, and adapt. Note that control and monitor modes are
- not supported for current release.
-
- Control Mode
- The control mode provides users for online control and limited user
- interfaces for interacting with the real control environment and
- fuzzy rule segments. The output of all segments are routed through
- output channels, and the inputs are brought in through the input
- channels.
-
- Monitor Mode
- The monitor mode provides users for online monitoring and analyzing
- the real control environment and fuzzy rules. The output of all
- segments are for display only, they are NOT routed through output
- channels, but the inputs are brought in through the input channels.
-
- Check Segment
- This feature allows user to examine one segment at a time. Combined
- with other segment functions, such as preset and modify variables,
- user can check the response of the selected segment with fixed
- (constant) or manual values for inputs and local variables.
-
- Simulation Mode
- The simulation mode offers user to simulate the system with feedback
- or emulation segment(s) for integration test. The emulation can be
- user defined segment(s) or user provided data set with EMUL_SEGMENT
- or FEEDBACK keyword. The simulation environment allows user to tune
- up and debug control system with features such as single step and
- others. Please refer to Emulation section for more details about
- feedback segments.
-
- Adapt mode
- The adapt mode provides an offline adaptation of the fuzzy control
- system. An evaluation segment and its corresponding evaluation
- result score (an output variable) must be specified. When adapt mode
- is selected, GAF automatically optimizes the control segment by
- adjusting/adding/deleting rules and adjusting fuzzy membership sets.
- Please refer to the Adaptation section for more details of genetic-
- adaptation and also refer to FCL.DOC for defining an evaluation
- segment.
-
- Schedule Policy
- There are four different time modes: real time mode, simulated time
- mode, sim-schedule mode, and 24 hours clock mode. The real time mode
- uses actual system clock (computer clock) for scheduling the
- segments. This mode is the only allowed mode for running in the
- control mode. The following is an example of how real time mode
- schedules a three segments system with 0.1, 0.2, and 0.3 cycle time.
- Assume that each segment takes 0.05 second to run, and all three
- segments are enabled all the time. GAF scheduling table will be:
- Sweep # Time Seg 1 Seg 2 Seg 3
- -------- ----- ----- ----- -----
- 1 0.00 Run Run Run
- 2 0.15 Run --- ---
- 3 0.20 --- Run ---
- 4 0.25 Run --- ---
- 5 0.30 --- --- Run
-
- Instead of using real system time, the simulated time mode uses fixed
- time interval to simulate the schedule rate for the system. For
- example if the user specifies schedule interval is 0.1 second. Then
- the above scheduling table will be:
- Sweep # Time Seg 1 Seg 2 Seg 3
- -------- ----- ----- ----- -----
- 1 0.0 Run Run Run
- 2 0.1 Run --- ---
- 3 0.2 Run Run ---
- 4 0.3 Run --- Run
- 5 0.4 Run Run ---
-
- The sim-schedule mode resembles the simulated time mode, except that
- it does not use the cycle time of each segment for scheduling.
- Instead the sim-schedule mode uses the schedule rate for all
- segments, i.e. runs all segments all the time. Therefor, the
- scheduling table will be:
- Sweep # Time Seg 1 Seg 2 Seg 3
- -------- ----- ----- ----- -----
- 1 0.0 Run Run Run
- 2 0.1 Run Run Run
- 3 0.2 Run Run Run
- 4 0.3 Run Run Run
- 5 0.4 Run Run Run
-
- The simulated clock mode is a variation of sim-schedule mode. This
- mode allows user to simulate 24 hours clock within a single plot
- frame.
-
-
- Emulation
- An emulation segment is just like a control segment with EMUL_SEGMENT or
- FEEDBACK keyword instead of SEGMENT. You can define the feedback
- segment with fuzzy rules, math formulas, or data tables. Multiple
- feedback segments are allowed. In simulation mode GAF automatically
- closes the control and feedback loop with the same variable names. For
- example, if there is an input variable "POS_ERR" defined in the control
- segment, and it is also declared as an output in the feedback segment.
- Then GAF automatically uses the output value from the feedback segment
- as the input value of the control segment. On initialization, GAF searches
- through all segments to find matches among regular (control) and feedback
- segments. Please refer to Fuzzy Control Language (FCL) guide for
- constructing a GAF segment.
-
- GAF supports two kinds of feedback modules. The first one is using user
- data, from field measured data or generated from higher level model. The
- other choice is to use user defined feedback segment.
-
- To use user data as feedback, user simply put data in a text file with
- spread sheet like format, i.e., one column per variable, with different
- variables in a row. The data set must be an evenly distributed complete
- data set with both input and output variables declared as a normal
- segment. GAF only has limited capability to handle non-evenly distributed
- data set. The output variables defined in this file will be treated as
- output of a feedback segment.
-
- Alternatively, user can use the combination of fuzzy rules and math
- processing (pre and post processing) to build an emulation segment to
- close the feedback loop in order to simulate the system.
-
- One of the important features in GAF is that you can tune your system by
- trying different schedule rate (or cycle time defined in each segment).
- There are different time modes offered by simulation mode and check mode.
- These time modes are: real time mode, simulated time mode, sim-schedule
- mode, and 24 hours clock mode. Please refer to the Schedule Policy
- section for details about these time modes.
-
-
- Adaptation
- While fuzzy logic mimics the human's imprecise reasoning, the genetic
- algorithm mimics the evolution of the nature. The genetic algorithm uses
- randomization techniques to reach local optimum without exhausting
- searching through the solution state space. With randomization, genetic
- algorithm is also capable of escaping from local optimum and hopping into
- a new better state. GAF uses genetic algorithm to derive proper rules
- and fuzzy sets from the initial rules. By changing, adding, deleting rules
- and fuzzy membership sets of the fuzzy system, the genetic algorithm
- automatically adapts and optimizes the fuzzy control system.
-
- Besides the feedback segment, the adapt mode also needs an evaluation
- segment for evaluating the result of adaptation. With current release,
- user must build an evaluation segment and specify the result variable of
- evaluation. A canned evaluation will be supported in future release.
-
- Basics for Adaptation
- The basic concept of genetic-adaptation process is that GAF
- produces a new segment (by mutation or crossover from existing
- segment(s)) and then evaluates the new segment and compares its
- result against old ones (saved in the population pool). If a better
- result is obtained, the new segment is inserted into the population
- pool and the worst one in the pool will be removed.
-
- After starting adapt, GAF evaluates the selected adapt segment and
- saves it on the top of the population pool. The pool can save up to
- one hundred best generations in the order of their performance --
- the evaluation result. GAF then repeats the genetic-adaptation
- process -- creation, evaluation, and judging the result, until
- reaches a pre-specified maximum iteration or quit from the user.
-
- Reproduction from Elites
- One of the concept in genetic algorithm is that the fittest gets the
- highest chances to produce its off-springs, so it has the best chance
- to preserve its better genes.
-
- GAF uses weighed random to select one or two segments out of the
- population pool to reproduce a "next generation" based on one of the
- methods described under Adaptation Method. So, the fittest
- generation, which has the best evaluation result, has the highest
- weight in the weighed random selection.
-
- Evaluation Criteria
- The evaluation process for genetic-adapt is defined as follow. GAF
- runs through all preset cycles, which are preset conditions defined
- in evaluation and other segments. After each cycle the result score
- from the evaluation segment (see Evaluation under Option menu for
- defining result variable) is compared to the minimum score. If it is
- below the minimum and the population pool has been filled up, GAF
- stops further evaluation and delete this new generation. Otherwise
- GAF keeps evaluation through all preset cycles. The overall
- evaluation result will be the average score of all the preset cycles.
-
- User can specify the test time for preset test cycle and number of
- samples should be taken for evaluation. The test time is used to run
- each preset test, then GAF samples the score result for the
- specified number of times. The preset evaluation result will be the
- average of all samples, and the final result will be the average of all
- preset cycles. For example, if the test time is two seconds and the
- number of samples is 4 (with 0.1 sample rate), the total time for a
- preset cycle will be 2.3 seconds.
-
- Adaptation Method
- GAF uses weighed random to select one of the genetic algorithms for
- creating next generation. GAF allows user to change all predefined
- methods used by GAF. Followings are brief descriptions of these
- methods.
-
- Change rules
- The change rules method adapts the existing rules, i.e., modify
- existing rules with mutation and other algorithms. No new rule
- will be added and no rule will be disabled.
-
- Adjust input set
- The adjust input set method alters the fuzzy membership sets
- defined in the segment. The following algorithms are used to
- modify the membership set.
-
- Mutate
- The mutate method randomly change one or two "cell" in the
- membership set.
-
- Crossover
- The crossover method uses two parent genes (two
- generations from the gene pool) to generate next generation
- by inheriting cells from either parent.
-
- Intensify/dilute
- The intensify method intensifies the membership set, the
- dilute method dilutes the membership set.
-
- Broaden/restrict
- This method either broaden or restrict the fuzzy membership
- set.
-
- Shift fuzzy set
- The shift method shifts the membership set along the value
- without changing its shape.
-
- Change truth
- This method alters the truth value of the selected fuzzy
- membership set.
-
- Adding new rule
- This method creates new generation by adding new rule to the
- segment. The new rule is created with the same way as described
- in change rule.
-
- Enable and disable rule
- This method disable (or enable) rule to form a new segment.
-
- Alter cycle time
- This method creates new generation by modifying the cycle time
- of the old segment. The range of cycle time can be specified with
- max and min under adapt menu.
-
- Alter output gain
- This method adjusts the output gain to form a new generation.
-
-
-
- System Menu
- The GAF system menu bar, at the top of the screen, is the primary user
- interface to the system. The system menu bar contains following menu
- items: File, Run, Display, Option, Adapt, Method, Segment, and Help. Use
- the first character of each menu item or use cursor keys (right/left
- arrows) to select the menu item. When a menu item is selected a pull down
- menu appears to provide function selection. To select a function item in
- a pull down menu either by the character on the left of that item or move
- the cursor with up/down arrow keys and then "Enter". When a function item
- is selected, further secondary menu selection or data entry dialog may
- be provided by that function. Except rule selection, all secondary menus
- and data entry dialog boxes are displayed immediately beneath the pull down
- menu. GAF uses rule text window for rule selection. Press ESC in pull
- down menu and secondary menu will return to system menu (the menu bar).
- Press ESC under system menu will bring up the Run menu, except when the
- system menu was ESCaped from any of the running mode (i.e. from adapting
- or simulation). Before discussing each menu item in detail, the screen
- windows are explained for clarification.
-
-
- GAF Windows
- There are five types of system windows and four types of display windows.
- The system windows are: menu window, hint window, adapt status window,
- segment title window, and segment display window. The segment display
- window contains four sub-windows: rule text window (text window), trend
- plot window (plot window), combined result window (result window), and fuzzy
- rule firing window (firing window).
-
- Menu Window
- The menu window is at the top of the screen occupied by the system
- menu bar as described above. In any of the run mode, the menu window
- is closed; use ESC or F10 to get back to system menu.
-
- Hint Window
- The hint window is at the bottom of the screen to provide user hints
- (available keys or functions) to the user. Note that in run modes the
- hint window also displays the current schedule rate.
-
- Segment Title Window
- The segment title window (title window) shows the information for the
- selected segment, see Segment section for selecting a segment. The
- title window is located immediately above segment display window.
- Example of title window:
- Segment 0 20 Symbols 2 Inp VAR: MOVEMENT POS_ERR
- Cycle 0.06 11 Rules 1 Out VAR: CURRENT
- Where, the first line shows the segment ID, number of fuzzy
- membership symbols, number of input variables, and the names of input
- variables. The second line shows the cycle rate of the segment,
- number of rules, number of output variables, and the names of output
- variables.
-
- Adapt Status Window
- The adapt status window (adapt window) shows the status of genetic
- adaptation. Adapt window only exists under genetic adapting mode, it
- is immediately above the title window. Example of adapt window:
-
- Iteration=50 Items=10 Best=0.95 Last=0.85 Worst=0.55 Good=11 Bad=39
- Generation=4 From=2 Method=ADJUST_INPUT_SET.INTENSIFY_DILUTE
- Mutated set NEG_LARGE defined for POS_ERROR
- Average=0.935 Result= 0.935 0.935 0.935 0.935
- Where:
- Iteration indicates number of iterations
- Items items in the best list (gene pool)
- Best the best score in the gene pool
- Last the last score in the gene pool
- Worst the worst score of all iterations
- Good number of good iteration
- Bad number of bad iteration
- Generation the generation of current iteration
- From which one (in the pool) been picked for adapting
- Method the method used to adapt
- Average average score for all tests
- Result score for each test
-
- The third line indicates what was changed for the new generation. In
- this example, the fuzzy membership set NEG_LARGE defined for
- variable POS_ERROR had been mutated (by INTENSIFY_DILUTE).
-
- Segment Display Window
- The segment display window (display window) displays important status
- and information of the selected segment. The display window occupies
- the most part of the screen immediately above the hint window. There
- are four types of sub-windows inside display window for showing fuzzy
- rules and running status: rule text window (text window), trend plot
- window (plot window), combined result window (result window), and fuzzy
- rule firing window (firing window). The place and area of these sub-
- windows can be rearranged by the user, please see Display menu
- section for rearranging display windows.
-
- Text Window
- The text window shows the rules and status of the rules for current
- selected segment. Each rule is presented in a row with several
- columns associated with it. The first column indicates whether the
- rule is disabled (marked with 'x') or fired (marked with '*'). The second
- column shows the rule number. The rest of columns display the
- content of the rule, i.e., the fuzzy membership set symbol for
- corresponding inputs and outputs. These content columns are
- presented, in different color, with inputs first then the outputs as
- the same sequence shown in the title window above it. If local
- variables are selected (see Display section) the local variables are
- displayed after input variables. In run modes, use cursor keys to
- scroll up, down, right, and left for undisplayed contents.
-
- Trend Plot Window
- The plot window draws the trend graph for all inputs, outputs, and
- selected local variables with time in x-axis and value in y-axis. Each
- variable has its own sub-window, started from top to bottom, with the
- same sequence and color as in the text window. See sub-section "Set
- Plot Time Frame" under Display for changing the frame duration.
-
- Combined Result Window
- The result window depicts the result for selected output of the
- segment. The trapezoid result of all fired rules, which generate non-
- zero output, are in the upper portion of the window . In the lower
- portion of the window the defuzzified result (combined result) and the
- output value are displayed. Multiple outputs can be selected with
- split display area. See sections Segment and Display for selecting
- output and arranging display window.
-
- Rule Firing Window
- The firing window shows the fuzzy inference status (firing condition)
- of selected rules. This feature along with the stepping mode, under
- simulation or check segment, is the best way to tuneup or debug the
- control system. You'll find the selected rule's fuzzy sets are
- displayed to the left of the combined result. The corresponding input
- value for each set is plotted vertically in the same window. Note
- that each fuzzy set input has the same color as in the text window.
- Refer to Display section for arranging display window, and Segment
- section for selecting rules.
-
- File Menu: File Functions
- The File menu provides the following functions:
-
- Q: Quit
- Select 'Q' or use ALT-Q to exit the program.
-
- O: Open segment
- Select this option to open a segment from the specified file, GAF will
- prompt for the name of the file. If the default directory is specified
- (command switch /DIR) and the entered file name does not contain path,
- the default directory will be searched for the specified file name.
- The segment file can also be specified as the command arguments.
- When open a new file segment a sequence number will be assigned to
- that segment as its segment ID. The segment ID is used for
- displaying segment title.
-
- C: Close segment
- Use to close a segment. When selected, GAF pops secondary menu for
- a list of all segments for user to select appropriate segment to
- close. Note that a closed segment will be marked as "disabled" for
- current release, i.e., the memory will not be released.
-
- B: Report selected best list
- A: Report all items in list
- R: Report file
- These options allow user to generate report about the item(s) in the
- best list (population pool). Use 'R' to set the file name of the report,
- GAF prompts for the file name. Use 'A' to report all items in the list,
- and use 'B' to select one out of the best list. When 'B' is selected,
- GAF will prompt for the item number to be reported on. The item
- number must be between 0 and less than the current population in the
- pool.
-
- L: Enable adapt log
- D: Enable detail log
- G: Log file to
- In adapt mode, GAF can generate a log file for user to review. Use 'L'
- to enable (disable) the log, use 'D' to switch on (off) detail log. Use
- 'G' to specify the log file name.
-
- E: Enable plot data
- P: Plot data to
- When enabled, GAF generates a data file for the result of each
- iteration. The data file can be used by MyPlot to plot. The 'P' option
- specifies the file name of the data file.
-
- S: Generate statistic log
- T: Statistic to
- These options allow user to generate statistic report about the
- adaptation. Use 'T' to set the file name of the statistic log. The log
- includes statistics for all methods. Based on the statistics you may
- want to adjust the weight of the adapt methods.
-
-
- Run Menu: System Run Modes
- The Run menu provides different modes for running GAF system. As
- mentioned, GAF offers following five running modes: control, monitor,
- check segment, simulation, and adapt. Also provided is to terminate (quit)
- the program. Although there are five running modes, they can be divided
- into two categories: the control (simulation) portion and the automatic
- adaptation. While in any of the running modes, use ESC or F10 to escape
- back to or bring up the system menu. After bring up the system menu other
- functions provided by pull down menus are available except specifically
- noted. Upon completion of other functions, ESC again will bring you back
- to original running mode. Use Alt-Q to quit the program.
-
-
- Q: Quit the program
- Select this option or type 'Q' to quit the program.
-
- R: Control Mode
- M: Monitor Mode
- These two modes are disabled for current release.
-
- C: Check Segment
- Use this option to start checking the segment specified from the
- Segment menu. Use Segment menu to select proper segment, then start
- the check mode by selecting this option. Basically, the check mode is
- the same as simulation mode, except that only the selected segment
- is enabled. For available options during checking, please see
- simulation mode's user interfaces.
-
- Simulation Mode
- Use this option to start the simulation. Note that you must have
- feedback or emulation segment(s) with EMUL_SEGMENT or FEEDBACK
- keyword. Or use the Option menu to specify the feedback segment.
-
- When the mode is selected, the current selected segment will be
- displayed if it hasn't already been. Use any of these keys, described
- as follow, to start the simulation.
-
- Under monitor, check segment, and simulation modes, the following
- interactive user interfaces are supported.
- C : toggles on/off continuous mode
- F : continue until the end of the plot frame
- 1 ~ 9 : run 1 ~ 9 steps
- 0 : run 10 steps
- + - : increase/decrease sample rate (see below)
- enter : single step
- ESC : go to system menu bar
- alt-Q : quit the program
- F1 ~ F9: see function keys
- cursor keys to scroll up, down, right, and left of text window
-
- All other keys, while not in continuous mode, are treated as "Enter"
- for single step.
-
- Note that during continuous mode only the following keys would halt
- the continuous process: C, ESC, and function keys. The cursor keys
- will not halt continuous mode, instead, GAF performs the scroll and
- continue its simulation.
-
- There is an easy way to change the sampling rate in sim-schedule and
- simulated time mode. That is to use the '+' and '-' keys. By press '+'
- or '-' key, GAF adjusts the schedule rate or cycle time by increasing
- or decreasing an adjustable amount. Please refer the Option menu
- section for setting the adjust amount. The current sample rate
- value will be displayed in the hint window at the lower right corner of
- the screen.
-
- A: Adapt mode
- When adapt mode is selected, GAF starts adaptation of the selected
- control segment. The followings must be specified before starting
- adaptation: the segment to be adapted (optimized), the evaluation
- segment, and the variable for the evaluation result. GAF stops if any
- of the required is missing. The following interactive interfaces are
- supported in adapt mode.
- C : continue
- Alt-C : switch to continuous mode
- Alt-P : turn on iteration pause
- Alt-A : turn on preset cycle pause
- Alt-Q : quit the program
- ESC : go to system menu bar
- F1 ~ F6: see function keys
- cursor keys to scroll up, down, right, and left of text window
- All other keys will pause adapting temporary.
-
-
-
- Option menu: Change Parameters
- The option pull down menu allows user to change the simulation and
- evaluation environment. Currently only following functions are
- supported.
-
- R: Real time mode
- T: Sim time mode
- S: Sim schedule mode
- K: Sim clock mode
- These four modes are the basic scheduling policy described in the
- Schedule Policy section. The selected mode will be marked with "x" on
- the right.
-
- C: Sim schedule rate
- Use this option to set desired time interval in seconds for either
- simulated time mode or sim-schedule mode. Current value id displayed
- on its right.
-
- I: Increment value
- As mentioned, an easy way to change the simulated schedule rate is
- to use the '+' and '-' keys to increase and decrease the schedule rate.
- This option allows user to set the amount of increasing/decreasing,
- the default value is 0.005 second.
-
-
- E: Emulation segment
- This option is used to specify the feedback segment. Normally, this
- option is only used to show the feedback segment, if proper key word
- (FEEDBACK or EMUL_SEGMENT) is used to define the emulation/feedback
- segment. When selected, a secondary menu contains all segment names
- are displayed for further selection.
-
- V: Eval segment
- This option can be used to specify a user defined evaluation segment
- instead using EVAL_SEGMENT key word to declare it. The current
- evaluation segment ID and its name are shown, if it is specified. When
- selected, a secondary menu pops up with names of all segments to
- allow user to select the proper segment.
-
- A: Eval result variable
- Use this option to specify the evaluation result variable. When
- selected, a secondary menu pops up with names of all variables of the
- specified evaluation segment to allow user to select the proper
- variable. GAF uses "EVAL_RESULT" as default variable.
-
- B: Eval null band
- This option allows user to specify a null band of evaluation. The null
- band is used by GAF to determine whether it's necessary to check
- there are identical generations or not.
-
- Segment Menu: Change segment and value
- The segment menu offers user three major functions:
- Select a segment for display or for following actions
- Change/modify the segment
- Control/change the display of the segment
-
- S: Segment number
- Use this option to select a segment. The default selected segment
- is the first segment (the segment 0). The selected segment is
- displayed in the display window and title window. When selected, a
- secondary menu pops up with names of all segments to allow user to
- select the proper segment.
-
- E: Segment enabled
- To toggle enable or disable the selected segment. If the segment is
- enabled it will be marked with "x". Note that when a segment is
- disabled with this option, it will not be enabled by the "ENABLE"
- condition defined in the FCL, however, when the option is enabled then
- the "ENABLE" condition determines whether the segment is enabled or
- not.
-
- C: Cycle time
- Change the cycle time for the selected segment. Note that the real
- cycle time may depend on the running mode and time mode been
- selected. Refer to Schedule Policy section for more information.
-
- I: Set input value
- O: Set output value
- L: Set local variable value
- These options allow user to manually set a variable's value. After
- select one of these options, GAF pops up a secondary menu with all
- variable names alone with their variable number. Select a variable,
- GAF then requests for new value. Enter the new desired value will
- close all menus. Note that you can use F7 to initialize the system,
- see function key for detail.
-
- G: Set output gain
- Use this selection to change the gain of selected output. Again, just
- like setting variable value, GAF asks for output variable and then
- the new gain value.
-
- N: Enable rule
- D: Disable rule
- GAF allows you to enable or disable the rule(s) in any of the running
- modes. The disabled rules are marked with 'x' at the first column in
- text window. Select one of these options, GAF then highlights the
- first rule at the second column in text window. Use cursor keys to
- move highlighted cursor and then press 'Enter' to enable or disable
- the rule.
-
- A: Enable all rules
- This option gives user an easy way to enable all rules.
-
- R: Display result
- After changing the Display window's arrangement, i.e. selecting whole
- display or no plot mode, use this option to select the desired output
- you want to display. Note that GAF automatically selects the first
- output for display, if none is selected.
-
- F: Display rule firing
- The above option (Display result) allows user to specify the output
- to display, this option allows user to select rule to be displayed
- with its detail inferencing in firing window. When select this option,
- like disable/enable rule, GAF uses the text window for selecting menu.
- Note that selected rules are marked with 'x'.
-
- M: Combined result only
- When this option is selected, GAF deselects all rules from displaying
- its inference (firing window). So only the combined result will be
- displayed.
-
- P: Preset to
- Use this option to preset to a specific state defined by "PRESET"
- statements in segment(s). GAF will prompt for the preset number.
- Please refer to F8 of function key for similar function.
-
-
- Display Menu: Arrange Display Windows
- The display menu allows user to arrange and select the screen layout,
- text font, and color of the screen display.
-
- 1: Use standard font
- 2: Use small font
- With these two options, you can switch between normal text display
- or small font text display.
-
- 3: Select normal display mode
- The normal display mode displays the text window on the left portion
- of the display window and the plot window on the right. See window
- split for changing the size of text window.
-
- 4: Select whole display mode
- In this mode the text window still occupies the left portion, but the
- right portion of the display window splits into two parts, the upper
- half shows the plot window, and the lower half displays the combined
- result and/or firing window. See Segment section for more
- information about selecting rules and outputs. See window split for
- changing size of text window.
-
- 5: Select plot only mode
- This option allows you to see only the plot. GAF dedicates the entire
- display window to plot sub-window except reduces the text window to
- only first two columns on the left, which shows the status and rule
- number.
-
- 6: Select no plot mode
- This display mode removes plot window from the right portion. So the
- combined result and/or firing window are displayed on the right along
- with text window on the left.
-
- 7: Select text only mode
- This mode shows the text window only. Because graphics, i.e. trend
- plot, combined result, and firing condition, takes much of CPU time,
- this mode allows you to speed up the test or control.
-
- P: Plot duration
- The default plot frame period is five seconds (except in auto clock
- mode). Use this option to change the frame duration, the value is
- specified in seconds.
-
- C: Color/monochrome
- Use this option to switch between color and mono mode.
-
- W: Window split (Change size of text window)
- Allows user to change the size of the text window. The value is
- specified in percent, i.e. 60 means that text window occupies 60% of
- the display window. If the value is greater than 90, GAF
- automatically switches to text only mode. If the value is less than
- 10, GAF shuts text window off (except the left most two columns).
-
- D: Display local variable
- The default display mode is to display/plot IN, OUT, and INOUT
- variables. The LOCAL variables are not displayed. Use this option to
- enable LOCAL variables.
-
-
- Adapt Menu: Setup adapt environment
- The adapt menu is used to change the overall environment for genetic
- adaptation. See the Method section for more information about
- controlling the genetic algorithm.
-
- C: Continuous mode
- Set the adaptation to continuous mode without pause or delay, unless
- user interferes. The continuous mode is the default mode after
- starting adaptation.
-
- P: Iteration pause
- Y: Pause per cycle
- These two options allow user to halt the adapting process in order
- to examine it. The iteration pause is to halt at the end of each
- iteration. The cycle pause is to halt at the end of each preset cycle.
- Type 'C' to continue, press Alt-C to switch back to continuous mode.
- Also see Iteration and Cycle delay.
-
- S: Sample number
- Specifies number of samples should be taken for calculating each
- preset test's evaluation result.
-
- W: Weight increment
- GAF uses linear proportional weight for random selecting from the
- gene pool. This option is to set the linear increment of the weight.
- For example the increment is 2, then the weight for the best in the
- gene pool will be 2 * 100 = 200, and the weight for the worst in the
- pool will be 2.
-
- B: Max best items
- The number of items kept in the best list (gene pool). The limit of this
- value is 1 to 10.
-
- I: Max iteration
- This allows user to specify the maximum number of iterations. GAF
- stops after this number of iterations is reached. If the value is
- less than or equal to 0, there is no limit.
-
- T: Test time
- As explained the test time is the time for each preset test before
- evaluate the result. Use this to set the proper value, in general it
- should be greater than the rising time for the longest response in all
- preset tests.
-
- D: Iteration delay
- L: Cycle delay
- Instead pause for each iteration/preset cycle, users can specify
- time delay between iterations or preset cycles. Zero value means
- continuous.
-
- O: Minimum score
- This value defines the minimum score for a successful preset test
- cycle. GAF tries to go through all preset tests, but stops after any
- preset test failed to score the minimum value. The default value is
- 0.6.
-
- A: Adapt segment
- Use this option to change the segment you want to adapt. The name
- of the current selected adapt segment is shown on the next line in
- the menu. When selected, a secondary menu pops up with names of all
- segments to allow user to select the proper segment. Note that the
- selected adapt segment may not be the same as the selected display
- segment.
-
- U: Use best list
- G: Use original segment
- The first option allows user to pick one adaptation out of the best
- list and then switch to simulation mode for testing or debugging. The
- "Use original segment" option allows user to switch back to the
- original segment, which is loaded from the file.
-
- R: Reset best list
- This option allows user to clear the gene pool, i.e. delete every
- sample in the gene pool.
-
-
- Method Menu: Control Genetic Algorithm
- The method menu allows user to control the adaptation algorithms by
- setting new weight factor. A method can be disabled by setting zero
- weight. For example, if no new rules are allowed then set "adding rules"
- to zero. The method menu is divided into two parts, the upper half for
- changing weights for overall adapting methods. The lower half is to
- change the detailed weight for specific adapting method.
-
- Z: Zero all weights
- This option zeros all weights in the upper half adapting methods.
-
- C: Change rules
- The option changes the overall weight for adapting existing rules.
-
- I: Adjust input set
- 4: Adjust input set ...
- The first option (in the upper half) changes the overall weight for
- adapting input fuzzy membership set. The second option is used to
- change the detail adapting weights inside input set adaptation. When
- the second option is selected, GAF pops up a sub menu under method
- menu. The followings are options in the sub menu.
-
- M: Mutate
- Use this option to set the weight of mutation.
-
- C: Crossover
- To set the weight of crossover for adjusting fuzzy set.
-
- I: Intensify/dilute
- Set the weight of intensify and dilute for adjusting fuzzy input
- set.
-
- B: Broaden/restrict
- Set the weight of broaden and restrict for adjusting fuzzy input
- set.
-
- S: Shift fuzzy set
- Set the weight of shift fuzzy input set.
-
- T: Change truth
- Set the weight of adjusting the truth of an input set.
-
- K: Scale (0 - 1)
- The scale factor defines how much change is allowed for the
- above methods, except mutate and crossover. The amount is the
- percentage of the member set. One means 100% and zero means
- none.
-
- A: Adding new rule
- This option sets the weight of adding new rules into the adapting
- segment. See Maximum rules to define the limit of rules.
-
- E: En/dis-able rule
- This option sets the weight of enable/disable existing rules in the
- adapting segment.
-
- T: Alter cycle time
- This option sets the overall weight of altering cycle time of the
- segment. The range of cycle time can be specified with max and min
- cycle time.
-
- G: Alter output gain
- This option sets the weight of adjusting the output gain to form a
- new generation.
-
- 1: Max cycle time
- 2: Min cycle time
- These two values clamp the sample rate, the cycle time of the
- segment. GAF will not exceed these limits during adaptation when
- adapting of cycle time is enabled (the weight for alter cycle time is
- greater than 0).
-
- 3: Maximum rules
- This option allows user to set a limit for number of rules is allowed
- during adaptation. If the number is less than 1 there will be no limit.
-
-
-
-
- Function Keys
-
- F1: Get help
- GAF provides context sensitive help. Press F1 to call up the on-line
- help. Inside help you can jump to other topic by selecting listed
- topic.
-
- F2: Display the system info
- Press F2 to see the system limits. The system info shows the version
- of GAF, system wide limits, and current free memory status.
- IO length (in bits)
- the supported analog IO bits
- Number of sets per segment
- maximum number of fuzzy input sets in a segment
- Number of rules per segment
- maximum number of rules in a segment
- Total variables per segment
- maximum number of variables (IN, OUT, and LOCAL) in a segment
- Number of segments
- maximum number of segments in the system
- Number of fuzzy symbols
- maximum number of fuzzy symbols in a segment
- Name length (IO & symbol)
- number of characters for names (variable name or symbol name)
- Number of best genes
- the maximum limit of the gene pool (best list)
-
- F3: Next segment
- Press F3 to switch the display segment, i.e., cycle through all
- segments.
-
- F4: View segment information
- Press F4 to see the variable definition, initialization and run
- functions, and other information for the selected display segment.
-
- F5: View symbol definition
- Press F5 to see the fuzzy set symbols' definition for this segment.
-
- F6: View preset definition
- Press F6 to see the preset definition for this segment.
-
- F7: Initialize the system
- The F7 function key allows you to initialize the system. This is
- defined in each segment's INITIALIZATION declaration. GAF goes
- through all segments to execute the initialization defined in each
- segment and then resets the segment scheduler.
-
- F8: Preset the system
- The F8 function key allows users cycle through all presets defined
- for all segments during simulation.
-
- F9: Zero the system
- Press F9 to zero all the inputs and outputs for all the segments
- during simulation.
-
-
- Command Syntax
- The command syntax for GA FuzzyWare is:
- GAF [switches] [segment files]
-
- Available command switches are:
- /DIR=dir_path to specify the default directory for segment files
- /CFG=file_name to specify the configuration file
- /H or /? help
-
- Examples:
- GAF /dir=c:\gaf a1.seg a2.seg a3.seg
- specifies all a1 ~ a3 files are under c:\gaf directory.
-
- GAF /dir=c:\gaf app.s00 /dir=c:\app app.s01 app.s02
- specifies app.s00 under c:\gaf, both app.s01 and app.s02 are
- under c:\app directory.
-
-
- Configuration
- When starts up, GAF searches configuration file in following order
- specified by /CFG command switch
- "GAF.CFG" under current directory
- "GAF.CFG" at where GAF.EXE resides
- The configuration file is a text file for setting up the GAF environment.
- The format of the configuration file is a series of "attribute =
- attribute_value;". The attribute can be in any order and can be defined
- multiple times with the latter value overrides the previous value. The
- configuration attribute can also be included inside FCL module file by
- enclosing it within "CONFIGURATION" and "END_CONFIGURATION;" keywords.
- Because FCL modules are processed after GAF.CFG, so FCL's configuration
- will override GAF.CFG. Please refer to FCL.DOC for details.
-